package com.sunfeng.netty.atguigu2.nio;


import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;


/**
 * @author sunfeng
 * @date 2021/03/22 16:15
 **/
public class NIOFileChannel01 {
    public static void main(String[] args) throws IOException {
        String str = "你好,孙峰!!!\n";
        //创建一个输出流
        FileOutputStream fileOutputStream = new FileOutputStream("d:\\file01.txt");
        // 根据输出流获取一个文件fileChannel
        // fileChannel 的真实类型是fileChannelImpl
        FileChannel fileChannel = fileOutputStream.getChannel();
        //创建一个缓冲区ByteBuffer
        ByteBuffer byteBuffer = ByteBuffer.allocate(1024);

        int i=0;
        while (true){
            // 使用完的buffer 再次是用调用clear方法
            byteBuffer.clear();
            //将str 放入ByteBuffer
            byteBuffer.put(str.getBytes());
            //将数据进行flip
            byteBuffer.flip();
            // 将byteBuffer 数据
            fileChannel.write(byteBuffer);

            i++;
            if(i>1000){
                break;
            }

        }

        fileOutputStream.close();

    }
}
